package com.vx.xmlModelToData.util;

import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;

public class DocumentUtil {
	/**
	 * 读取Docment的根节点
	 * @param document
	 * @return 根节点Element对象
	 */
	public static Element getRoot(Document document){
		Element root = document.getRootElement();
		return root;
	}
	
	/**
	 * 读取根节点下的所有子节点集合
	 * @param root 节点对象
	 * @return 子节点集合
	 */
	public static List getElements(Element root){
		List<Element> childList = root.elements();
        return childList;
	}
	
	/**
	 * 读取节点名称相同的第一个节点对象
	 * @param root 父节点对象
	 * @param elementName 节点名称
	 * @return 第一个名称相同的子节点对象
	 */
	public static Element getElementByName(Element root,String elementName){
		 Element firstElement = root.element(elementName);
		 return firstElement;
	}
	
	/**
	 * 根据节点名称，读取所有同名的子节点
	 * @param root 父节点对象
	 * @param elementName 节点名称
	 * @return 同名的子节点集合
	 */
	public static List getElementsByName(Element root,String elementName){
		List<Element> childList = root.elements(elementName);
		return childList;
	}
	
	/**
	 * 读取节点包含的所有属性对象
	 * @param el 节点名称
	 * @return
	 */
	public static List getElementByName(Element el){
		List attributes = el.attributes();
		 return attributes;
	}
}
